Often during the use of programs errors occur which were not expected. These errors are not predicted during the development and testing phase of the program. These types of errors are often only discovered post release of the program to the public. It can often be difficult to identify the root cause of the error due to the seemingly random circumstances which caused the error to exist. However, the identification of the source of error and the subsequent modification, or patching, of the program is often of great interest to those who developed the program.